home *** CD-ROM | disk | FTP | other *** search
- ; CAL3.CMD: Calendar Macro to display three months
- ; Previous Current Next
- ; Month Month Month
- ; Asterics "**" replace the current date
- ; in the current month
- ; Inspired by m.cs.uiuc.edu!reingold who
- ; did a calendar for GNUmacs
- ; (C)opyright 1989 by Ian Ornstein
- ; Last Update Fri Feb 17 1989
- ; Permission is granted to copy, distribute and use this software
- ; wherever Daniel M Lawrence's MicroEMACS is used.
- ;
- ; Steps to solution
- ;
- ; 0.- Save context [save-buffer - restore-buffer wouldn't do it]
- ; 1.- Select buffer calwork
- ; insert $time
- ; parse Month day and year
- ; 2.- Create window to display calendar
- ; 3.- Do Current Month
- ; 4.- Mark Current Date
- ; 5.- Do Preceding Month
- ; 6.- Do Succeeding Month
- ; 7.- Restore context
- ;
- ;
- ; Prolog - Setup for all months
- ;
- execute-file calutil.cmd
- run save-ctx
- run get-date
- ; Do current month first so current day can be
- ; easily marked
- run month-number
- run get-window
- set %ynum %curyear
- set %calcol 27
- run disp1mon
- search-forward %curday
- 2 backward-character
- overwrite-string "**"
- beginning-of-file
- ;
- ; Do Preceding Month
- set %mnum &sub %mnum 1
- !if &equ %mnum 0
- set %mnum 12
- set %curyear &sub %curyear 1
- !endif
- set %ynum %curyear
- set %calcol 1
- run disp1mon
- ;
- ; Do third month's Calendar
- set %mnum %savemon
- set %curyear %saveyear
- set %mnum &add %mnum 1
- !if &equ %mnum 13
- set %mnum 1
- set %curyear &add %curyear 1
- !endif
- set %ynum %curyear
- set %calcol 53
- run disp1mon
- ;
- ;restore-window
- next-window
- run restore-ctx
- clear-message-line
- ;
-